package narrativas;

import narrativas.NarrativaBase;
import java.util.Scanner;

public class NarrativaCharco extends NarrativaBase {
    
    public void Charco() {
        getMensageiro().preveTempo(getLocal());
        System.out.println("#########################################################################################################");
        System.out.println("    Você escolheu ir pelo charco.");
        System.out.println("#########################################################################################################");
        if(getLocal().getTempo().equalsIgnoreCase("Limpo")){
                        System.out.println("********************************************************************************************************");
            System.out.println("Você olhou para o céu e viu um céu claro sem sinal de chuva, usando a sua habilidade"
                    + "de prever o tempo você teve certeza que não iria chover.");
            System.out.println("********************************************************************************************************");
        }else{
            System.out.println("********************************************************************************************************");
            System.out.println("Você olhou para o céu e viu ele se fechar, usando sua abilidade de prever o tempo"
                    + "você teve certeza que iria chover.");
            System.out.println("********************************************************************************************************");
        }
    }
    public String Charco_Meio() {
        boolean flag;
        System.out.println("********************************************************************************************************");
        System.out.println("    Você continua seu caminho pelo charco, nisso, encontra dois caminhos a sua frente.\n"
                + "Você olha no seu mapa e vê que esses caminhos são a Corredeira e o rio. Uma corredeira deve\n"
                + "ser fácil de atravessar em um dia de sol. Já o rio deve ser fácil atravessar em um dia\n"
                + "chuvoso já que da última vez que você esteve aqui, você viu uma canoa perto dele. Qual a\n"
                + "sua decisão, irá pelo rio ou pela corredeira? RIO - CORREDEIRA\n");
        System.out.println("********************************************************************************************************");
        Scanner tec = new Scanner(System.in);

        setComando(tec.next());

        if (getComando().equalsIgnoreCase("Rio")) {
            flag = false;
            getLocal().saida("sul");
        } else if (getComando().equalsIgnoreCase("Corredeira")) {
            flag = false;
            getLocal().saida("norte");
        } else {
            flag = true;
        }
        while (flag == true) {
            System.out.println("Erro: Digite somente Rio ou Corredeira");
            System.out.println("********************************************************************************************************");
            System.out.println("    Você continua seu caminho pelo charco, nisso, encontra dois caminhos a sua frente. \n"
                    + "Você olha no seu mapa e vê que esses caminhos são a corredeira e o rio. Uma corredeira deve \n"
                    + "ser fácil de atravessar em um dia de sol. Já o rio deve ser fácil atravessar em um dia \n"
                    + "chuvoso já que da última vez que você esteve aqui, você viu uma canoa perto dele. Qual a \n"
                    + "sua decisão, irá pelo rio ou pela corredeira? RIO - CORREDEIRA");
            System.out.println("********************************************************************************************************");
            setComando(tec.next());
            if (getComando().equalsIgnoreCase("Rio")) {
                flag = false;
                getLocal().saida("sul");
            } else if (getComando().equalsIgnoreCase("Corredeira")) {
                flag = false;
                getLocal().saida("norte");
            } else {
                flag = true;
            }

        }
        return getComando();
    }

    public void Rio_Sol() {
        System.out.println("#########################################################################################################");
        System.out.println("    Você escolheu ir pelo rio.");
        System.out.println("#########################################################################################################");
        getDesafios().atravessarRio(getMensageiro(), getLocal());
        if (getMensageiro().isMorto() == true) {
            System.out.println("    Você pegou a canoa e tentou atravessar o rio, mas como o rio estava muito raso \n "
                    + "porquê o tempo estava ensolarado, você bateu em uma pedra e a canou furou.  \n "
                    + "Você morreu afogado. Fim de jogo.");
            System.out.println("********************************************************************************************************");
        }
    }

    public void Rio_chuva() {
        System.out.println("#########################################################################################################");
        System.out.println("    Você escolheu ir pelo rio.");
        System.out.println("#########################################################################################################");
        getDesafios().atravessarRio(getMensageiro(), getLocal());
        if (getMensageiro().isMorto() == false) {
            System.out.println("    Choveu! Você então pega a canoa que havia encontrado e consegue atravessar o rio com sucesso.");
            System.out.println("********************************************************************************************************");
        }
    }

    public void Corredeira_Sol() {
        System.out.println("#########################################################################################################");
        System.out.println("    Você escolheu ir pela Corredeira.");
        System.out.println("#########################################################################################################");
        getDesafios().atravessarCorredeira(getMensageiro(), getLocal());
        if (getMensageiro().isMorto() == false) {
            System.out.println("    Não choveu! Com isto a corredeira secou e você atravessou caminhando-a com sucesso.");
            System.out.println("********************************************************************************************************");
        }
    }

    public void Corredeira_Chuva() {
        System.out.println("#########################################################################################################");
        System.out.println("    Você escolheu ir pela corredeira.");
        System.out.println("#########################################################################################################");
        getDesafios().atravessarCorredeira(getMensageiro(), getLocal());
        if (getMensageiro().isMorto() == true) {
            System.out.println("    Choveu e a corredeira ficou realmente forte. Você morreu tentando atravessá-la. Fim de jogo.");
            System.out.println("********************************************************************************************************");
        }
    }
}